NGINX日志文件按日分割成单独文件的方法
- 原理
Nginx日志并不能像apache一样可以按日生成,但是我们可以用脚本方法来实现
- 创建分割脚本在每晚12点整执行
# 打开linux计划任务
crontab -e
# 输入以下代码
00 00 * * * /bin/bash /data/web/vhost/log/cutLog.sh
- 创建cutLog.sh脚本文件
#!/bin/bash
#此脚本用于自动分割Nginx的日志,包括access.log和error.log
#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件
#Nginx日志文件所在目录
LOG_PATH=$(cd `dirname $0`; pwd)
#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#获取pid文件路径
PID=/usr/local/nginx/logs/nginx.pid
#分割日志
mv ${LOG_PATH}/access.log ${LOG_PATH}/access-${YESTERDAY}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error-${YESTERDAY}.log
#向Nginx主进程发送USR1信号,重新打开日志文件
kill -USR1 `cat ${PID}`
- 文件的执行权限
chmod -R 0777 cutLog.sh
注意修改上方脚本中的相关日志路径,以及nginx.pid路径
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。